from config.LoadConfig import get_config

__system_conf = get_config("system")
# 优先从clip_models配置中读取模型路径，如果没有则从system配置中读取
__model_paths_conf = get_config("clip_models")
CLIP_MODEL_PATH = __model_paths_conf.get("clip_model_path") or __system_conf.get("clip_model_path","models/OFA-Syschinese-clip-vit-base-patch16")

# ["手机截图", "身份证银行卡", "纸质文件", "建筑场景", "人像照片", "食物饮品", "仪器仪表"]
CLS_LIST1 = ["手机截图", "身份证银行卡", "纸质文件", "建筑场景", "人像照片", "食物饮品", "仪器仪表"]
CLS_LIST2 = ["手机屏幕内容截图", "身份证或银行卡的照片", "拍摄的纸质文件或单据照片", "建筑物或室外场景的照片", "以人物为主体的照片", "食物或饮品的照片", "仪器仪表设备的照片"]
SIMPLE_MEDICINE_LIST = ["药品", "非药品"]
NORMAL_MEDICINE_LIST = ["医美药品", "非医美药品"]
MEDICINE_LIST = ["医疗减肥美容药品", "与医疗减肥美容药品无关"]

# 赌博分类 - 四级分类避免误判
GAMB_LIST = ["棋牌赌博现场", "筹码轮盘扑克", "彩票六合彩等赌博内容", "普通场景或物品"]
GAMB_MERGE_LIST = ["真实赌博现场或赌博软件界面", "赌博工具如筹码轮盘扑克", "彩票六合彩等赌博广告", "普通娱乐游戏场景或其他内容"]

# 涉黄分类配置
EROTICISM_MERGE_LIST = ["色情服务联系方式", "夜场陪酒女郎", "色情暴露性器官", "普通场景或物品"]
EROTICISM_SECOND_LIST = ["色情服务联系方式", "夜场陪酒女郎", "色情暴露", "男女赤身裸体", "卖淫嫖娼交易现场",]
EROTICISM_SECOND_SHOW_LIST = ["小卡片", "夜场", "色情暴露", "色情暴露", "卖淫嫖娼"]

# 枪械刀具分类配置
WEAPON_MERGE_LIST = ["枪械", "刀具", "弓箭射击", "普通场景或物品"]
WEAPON_SECOND_LIST = ["手枪步枪猎枪机枪气枪", "子弹弹药军火", "弩箭弓箭射箭", "砍刀匕首长刀生存刀军刀", "菜刀柴刀水果刀斧", "斧头锤子钉子电锯"]
WEAPON_SECOND_SHOW_LIST = ["枪", "子弹", "弓箭", "刀具", "刀具", "刀具"]

# 血腥暴力分类配置
VIOLENCE_MERGE_LIST = ["割腕流血", "暴力打斗", "血腥", "普通场景或物品"]
VIOLENCE_SECOND_LIST = ["割腕流血", "打斗受伤流血", "血腥场面", "惊悚恐怖", "持械斗殴打架"]
VIOLENCE_SECOND_SHOW_LIST = ["割腕", "血腥", "血腥", "惊悚恐怖", "暴力"]

GAMB_SECOND_LIST = ["记录赌局盈亏的单据", "正在参与赌博的人", "赌桌与筹码", "网上手机赌博应用软件赌博", "六合彩彩票", "扑克牌赌博", "麻将赌博", "赌博宣传广告", "其他赌博相关"]
GAMB_SECOND_SHOW_LIST = ["盈亏统计", "真实人像", "赌桌筹码", "网赌应用", "六合彩", "扑克", "麻将", "赌博宣传", "其他"]
CUSTOM_LIST = ["包含集装箱的场景", "海关进出口报关单", "其他纸质单据物品或场景"]
CUSTOM_SHOW_LIST = ["集装箱", "报关单", "其他"]

CLS_LIST_DICT = {
    "gamb": GAMB_MERGE_LIST,
    "medicine": MEDICINE_LIST
}

CLS_BATCH_DICT = [
    {
        "cls_name": "赌博",
        "cls_list": ["包含赌博元素的场景", "轮盘筹码扑克麻将现金", "普通场景或普通物品"],
        "score_reduce_count": 2,
        "sub_cls_list": [
            {"网上手机赌博盈亏统计赌博页面": "盈亏统计",
             "有真人出现的线下赌博场面": "真实人像",
             "有真实赌博桌子的赌博场面": "赌博桌面",
             "网上手机赌博应用软件赌博页面": "网赌应用",
             "六合彩彩票的赌博页面": "六合彩",
             "有扑克出现的赌博场面": "扑克",
             "有麻将出现的赌博场面": "麻将",
             "其他场景物品微信支付宝转账收款数字页面": ""}
        ]
    },
    {
        "cls_name": "涉黄",
        "cls_list": ["包含涉黄元素的场景", "色情暴露相关内容", "普通场景或普通物品"],
        "score_reduce_count": 2,
        "sub_cls_list": [
            {"带二维码的美女图片": "小卡片",
             "夜场陪酒女郎": "夜场",
             "色情暴露": "色情暴露",
             "男女赤身裸体": "色情暴露",
             "卖淫嫖娼交易现场": "卖淫嫖娼",
             "其他场景物品或普通内容": ""}
        ]
    },
    {
        "cls_name": "枪械刀具",
        "cls_list": ["包含枪械刀具的场景", "危险武器工具", "普通场景或普通物品"],
        "score_reduce_count": 2,
        "sub_cls_list": [
            {"手枪步枪猎枪机枪气枪": "枪",
             "子弹弹药军火": "子弹",
             "弩箭弓箭射箭工具": "弓箭",
             "砍刀匕首长刀生存刀军刀": "刀具",
             "菜刀柴刀水果刀斧": "刀具",
             "斧头锤子钉子电锯": "刀具",
             "其他场景物品或普通内容": ""}
        ]
    },
    {
        "cls_name": "血腥暴力",
        "cls_list": ["包含血腥暴力的场景", "伤害恐怖相关内容", "普通场景或普通物品"],
        "score_reduce_count": 2,
        "sub_cls_list": [
            {"割腕流血": "割腕",
             "多人打斗受伤流血": "血腥",
             "血腥场面": "血腥",
             "惊悚恐怖": "惊悚恐怖",
             "持械斗殴打架": "暴力",
             "其他场景物品或普通内容": ""}
        ]
    }
]


